package ewms.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import ewms.common.annotation.Excel;
import ewms.common.core.domain.FileEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 危废库存信息视图对象 ewms_waste_inventory
 *
 * @author zhaoxiaochun
 * @date 2022-02-09
 */
@Data
@ApiModel("危废库存信息视图对象")
public class EwmsWasteInventoryVo {

	private static final long serialVersionUID = 1L;

	/** 主键id */
	@ApiModelProperty("主键id")
	private Long wasteInventoryId;

	/** 危废ID */
//	@Excel(name = "危废ID")
	@ApiModelProperty("危废ID")
	private Long wasteId;

	/** 仓库id */
	@ApiModelProperty("仓库id")
	private Long warehouseId;

	/** 批次号码 */
	@Excel(name = "批次号码", width = 30)
	@ApiModelProperty("批次号码")
	private String batchNumber;

	/**
	 * 危废状态
	 */
	@Excel(name = "状态", dictType = "waste_flow_status")
	@ApiModelProperty("危废状态")
	private Integer status;

	/** 危废名称 */
	@Excel(name = "危废名称", width = 45)
	@ApiModelProperty("危废名称")
	private String wasteName;

	/** 仓库名称 */
	@Excel(name = "仓库名称", width = 25)
	@ApiModelProperty("仓库名称")
	private String warehouseName;

	/** 入库明细id */
	@ApiModelProperty("入库明细id")
	private Long entryWarehouseDetailId;

	/** 危废重量 */
	@Excel(name = "危废数量", scale = 2)
	@ApiModelProperty("危废数量")
	private BigDecimal wasteWeight;

	/** 库存数量 */
	@Excel(name = "库存数量", scale = 2)
	@ApiModelProperty("库存数量")
	private BigDecimal stockWeight;

	/**
	 * 存放天数
	 */
	@Excel(name = "存放天数")
	@ApiModelProperty("存放天数")
	private Long stockDay;

	/** 入库时间 */
	@Excel(name = "入库日期" , width = 30, dateFormat = "yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd")
	@ApiModelProperty("入库日期")
	private Date entryDate;

	/**
	 * 入库操作者
	 */
	@Excel(name = "入库操作者")
	@ApiModelProperty("入库操作者")
	private String entryOperator;

	/** 出库时间 */
	@Excel(name = "出库日期" , width = 30, dateFormat = "yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd")
	@ApiModelProperty("出库日期")
	private Date outDate;

	/**
	 * 出库操作者
	 */
	@Excel(name = "出库操作者")
	@ApiModelProperty("出库操作者")
	private String outOperator;

	/**
	 * 危废分类ID
	 */
	@ApiModelProperty("危废分类ID")
	private Long wasteTypeId;

	/**
	 * 危废编码
	 */
	@ApiModelProperty("危废编码")
	private String wasteCode;

	/**
	 * 包装类别
	 */
	@ApiModelProperty("包装类别")
	private String packageType;

	/**
	 * 处置方式
	 */
	@ApiModelProperty("处置方式")
	private String handlerMethod;

	/**
	 * 危废形态
	 */
	@ApiModelProperty("危废形态")
	private String wasteShape;

	/**
	 * 安全措施
	 */
	@ApiModelProperty("安全措施")
	private String securityMeasure;

	/**
	 * 危险特性
	 */
	@ApiModelProperty("危险特性")
	private String hazardousCharacteristics;

	/**
	 * 预估重量
	 */
	@ApiModelProperty("预估重量")
	private BigDecimal wasteDiscreetWeight;

	/**
	 * 所属行业
	 */
	@ApiModelProperty("所属行业")
	private String industryName;

	/**
	 * 危废分类
	 */
	@ApiModelProperty("危废分类")
	private String wasteTypeName;

	/**
	 * 是否存在附件
	 */
	@ApiModelProperty("是否存在附件")
	private Boolean hasAttachment;

	/**
	 * 附件列表
	 */
	@ApiModelProperty("附件列表")
	private List<FileEntity> fileList;

	/**
	 * 附件
	 */
	@JsonIgnore
	private String attachment;

}
